package com.fzy.designpattern.observer.custom;


/**
 * 订阅的主题接口
 *
 * @author 冯赵杨
 * @create 2018/9/12
 */
public interface Subject {

    /**
     * 添加观察者
     *
     * @param obj
     * @return
     * @author 冯赵杨
     * @create 2018/9/12
     */
    void addObserver(Observer obj);

    /**
     * 移除观察者
     *
     * @param obj
     * @return
     * @author 冯赵杨
     * @create 2018/9/12
     */
    void removeObserver(Observer obj);

    /**
     * 当主题方法改变时,这个方法被调用,通知所有的观察者
     *
     * @return
     * @author 冯赵杨
     * @create 2018/9/12
     */
    void notifyObserver();
}
